<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>D3交互式数据可视化</title>
</head>
<body>
	<ul>
		<li>递增函数：d3.ascending</li>
		<li>递减函数: d3.descending</li>
		<li>最小值：d3.min(array[,accessor]) -- 支持回调处理数组单项</li>
		<li>最大值:d3.max(array[,accessor]) -- 支持回调处理数组单项</li>
		<li>最小值和最大值：d3.extent(array[,accessor]) -- 支持回调处理数组单项</li>
		<li>数组求和:d3.sum(array[,accessor]) -- 支持回调，数组中的无效值undefind或NaN会被忽略</li>
		<li>数据求平均值：d3.mean(array[,accessor]) -- 支持回调，数组中的无效值undefind或NaN会被忽略</li>
		<li>求数组的中间值:d3.median(array[,accessor]) -- 偶数个是中间两个的平均值</li>
		<li>去取p分位点的值,p的范围为[0,1]：d3.quantile(array,p)</li>
		<li>求方差：d3.variance(array[,accessor])</li>
		<li>求标准差：d3.deviation(array[,accessor]) -- 标准差是方差的二次方根，这两个值越大，表示此随机变量偏离均值的程度越大</li>
		<li>获取<strong>某数组项左边的位置</strong>：d3.bisectLeft() ，如果指定的数组项不存在，则返回第一个大于此项的值的左边</li>
		<li>获取<strong>某数组项右边的位置</strong>：d3.bisect() 或者 d3.bisectRight() </li>
	</ul> 
	<script src="js/d3_3.5.7.js"></script>
	<script>
		var nums = [10,22,30,40]
		var num2 = [16,1,3,14]
		// nums.sort(d3.descending);
		// console.log(d3.extent(nums,function(d) {
		// 	return d * 10
		// }))
		// console.log(d3.sum(nums,function(d) {
		// 	return d *10
		// }))
		// console.log(d3.mean(nums))
		// console.log(d3.median(nums))
		// console.log(d3.quantile(nums,0.5))
		// console.log(d3.variance(nums))
		// console.log(d3.deviation(nums))
		// console.log(d3.variance(num2))
		// console.log(d3.deviation(num2))
		var iLeft = d3.bisectLeft(num2,4)
		console.log(iLeft)
	</script>
</body>
</html>